﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ChessGameV2.Pieces
{
    public static class MaterialTable
    {
        public static readonly float[] king = new float[]
		{	
		
			0.00f,	0.00f, 	 0.00f, 	0.00f, 	0.00f, 	 0.00f,   0.00f, 	0.00f, 	 0.00f, 	0.00f,
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f,
			0.00f,  0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f,//8
			0.00f,	0.00f, 	 0.00f, 	0.00f, 	0.00f, 	 0.00f,   0.00f, 	0.00f, 	 0.00f, 	0.00f,//7
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f,//6
            0.00f,	0.00f, 	 0.00f, 	0.00f, 	0.00f, 	 0.00f,   0.00f, 	0.00f, 	 0.00f, 	0.00f,//5
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f,//4
			0.00f,  0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f,//3
			0.00f,  0.02f,	 0.02f,	    0.00f,  0.00f,   0.00f,	  0.00f,	0.02f,	 0.02f,	    0.00f,//2
			0.00f,	0.02f,	 0.03f,	    0.01f,	0.00f,	 0.00f,   0.01f,	0.03f,	 0.02f,	    0.00f,//1
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f, 
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f
		};

        public static readonly float[] pawn = new float[] 
        {
            0.00f,	0.00f, 	 0.00f, 	0.00f, 	0.00f, 	 0.00f,   0.00f, 	0.00f, 	 0.00f, 	0.00f,
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f,
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f,//8
			0.00f,	0.05f,	 0.05f,	    0.05f,	0.05f,	 0.05f,	  0.05f,	0.05f,	 0.05f,	    0.00f,//7
			0.00f,	0.01f,	 0.01f,	    0.02f,	0.03f,	 0.03f,	  0.02f,	0.01f,	 0.01f,	    0.00f,//6
			0.00f,	0.005f,	 0.005f,	0.01f,	0.025f,	 0.025f,  0.01f,	0.005f,	 0.005f,	0.00f,//5
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.02f,	 0.02f,	  0.00f,	0.00f,	 0.00f,	    0.00f,//4
			0.00f,	0.005f,	-0.005f,   -0.01f,	0.00f,	 0.00f,	 -0.01f,   -0.005f,  0.005f,	0.00f,//3
			0.00f,	0.005f,	 0.01f,	    0.01f, -0.02f,  -0.02f,	  0.01f,	0.01f,	 0.005f,	0.00f,//2
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f,//1
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f, 
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f
        };

        public static readonly float[] bishop = new float[]
        {
            0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f,
            0.00f,	0.00f, 	 0.00f, 	0.00f, 	0.00f, 	 0.00f,   0.00f, 	0.00f, 	 0.00f, 	0.00f,
			0.00f, -0.02f,	-0.001f,   -0.01f, -0.01f,	-0.01f,	 -0.01f,   -0.01f,	-0.01f,	    0.00f,//8
			0.00f, -0.01f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	-0.01f,	    0.00f,//7
			0.00f, -0.01f,	 0.00f,	    0.005f,	0.01f,	 0.01f,	  0.005f,	0.00f,	-0.01f,	    0.00f,//6
			0.00f, -0.01f,	 0.005f,	0.005f,	0.01f,	 0.01f,	  0.005f,	0.005f,	-0.01f,	    0.00f,//5
			0.00f, -0.01f,	 0.00f,	    0.01f,	0.01f,	 0.01f,   0.01f,	0.00f,	-0.01f,	    0.00f,//4
			0.00f, -0.01f,	 0.01f,	    0.01f,	0.01f,	 0.01f,	  0.01f,	0.01f,	-0.01f,	    0.00f,//3
			0.00f, -0.01f,	 0.005f,    0.00f,	0.00f,	 0.00f,	  0.00f,    0.005f, -0.01f,	    0.00f,//2
			0.00f, -0.01f,	-0.01f,	   -0.01f, -0.01f,  -0.01f,	 -0.01f,   -0.01f,	-0.02f,	    0.00f,//1
			0.00f, -0.01f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f,
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f
        };

        public static readonly float[] knight = new float[]
        {
           0.00f,	0.00f, 	 0.00f, 	0.00f, 	0.00f, 	 0.00f,   0.00f, 	0.00f, 	 0.00f, 	0.00f,
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f,
			0.00f, -0.05f,	-0.04f,	   -0.03f, -0.03f,	-0.03f,	 -0.03f,   -0.04f,	-0.05f,	    0.00f,//8
			0.00f, -0.04f,	-0.02f,	    0.00f,	0.00f,	 0.00f,	  0.00f,   -0.02f,	-0.04f,     0.00f,//7
			0.00f, -0.03f,	 0.00f,	    0.01f,	0.015f,	 0.015f,  0.01f,	0.00f,	-0.03f,     0.00f,//6
			0.00f, -0.03f,	 0.005f,	0.015f,	0.02f,	 0.02f,   0.015f,	0.005f,	-0.03f,	    0.00f,//5
			0.00f, -0.03f,	 0.00f,	    0.015f,	0.02f,	 0.02f,	  0.015f,	0.00f,	-0.03f,     0.00f,//4
			0.00f, -0.03f,	 0.005f,    0.01f,	0.015f,	 0.015f,  0.01f,    0.005f, -0.03f,	    0.00f,//3
			0.00f, -0.04f,	-0.02f,	    0.00f,  0.005f,  0.005f,  0.00f,   -0.02f,	-0.04f,	    0.00f,//2
			0.00f, -0.05f,	-0.04f,	   -0.03f, -0.03f,	-0.03f,  -0.03f,   -0.04f,	-0.05f,	    0.00f,//1
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f, 
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f
        };
        //Piece/square table for queens during middle game.
        public static readonly float[] rook = new float[]
        { 
            0.00f,	0.00f, 	 0.00f, 	0.00f, 	0.00f, 	 0.00f,   0.00f, 	0.00f, 	 0.00f, 	0.00f,
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f,
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f,//8
			0.00f,	0.005f,	 0.01f,	    0.01f,	0.01f,	 0.01f,	  0.01f,	0.01f,	 0.005f,    0.00f,//7
			0.00f, -0.005f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.0f,	    0.00f,	-0.005f,    0.00f,//6
			0.00f, -0.005f,	 0.00f,	    0.00f,	0.00f,	 0.00f,   0.00f,	0.00f,	-0.005f,	0.00f,//5
			0.00f, -0.005f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	-0.005f,    0.00f,//4
			0.00f, -0.005f,	 0.00f,     0.00f,	0.00f,	 0.00f,	  0.00f,    0.00f, -0.005f,	    0.00f,//3
			0.00f, -0.005f,	 0.00f,	    0.00f,  0.00f,   0.00f,	  0.00f,	0.00f,	-0.005f,	0.00f,//2
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.005f,	 0.005f,  0.00f,	0.00f,	 0.00f,	    0.00f,//1
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f, 
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f
        };

        public static readonly float[] queen = new float[]
        { 
            0.00f,	0.00f, 	 0.00f, 	0.00f, 	0.00f, 	 0.00f,   0.00f, 	0.00f, 	 0.00f, 	0.00f,
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f,
			0.00f, -0.02f,	-0.01f,	   -0.01f, -0.05f,	-0.05f,	 -0.01f,   -0.01f,	-0.02f,	    0.00f,//8
			0.00f, -0.01f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	-0.01f,     0.00f,//7
			0.00f, -0.01f,	 0.00f,	    0.005f,	0.005f,	 0.005f,  0.005f,	0.00f,	-0.01f,     0.00f,//6
			0.00f, -0.005f,	 0.00f,	    0.005f,	0.005f,	 0.005f,  0.005f,	0.00f,	-0.005f,	0.00f,//5
			0.00f,  0.00f,	 0.00f,	    0.005f,	0.005f,	 0.005f,  0.005f,	0.00f,	-0.005f,    0.00f,//4
			0.00f, -0.01f,	 0.005f,    0.005f,	0.005f,	 0.005f,  0.005f,   0.00f,  -0.01f,	    0.00f,//3
			0.00f, -0.01f,	 0.00f,	    0.005f, 0.00f,   0.00f,	  0.00f,	0.00f,	-0.01f,	    0.00f,//2
			0.00f, -0.02f,	-0.01f,	   -0.01f, -0.005f,	-0.005f, -0.01f,   -0.01f,	-0.02f,	    0.00f,//1
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f, 
			0.00f,	0.00f,	 0.00f,	    0.00f,	0.00f,	 0.00f,	  0.00f,	0.00f,	 0.00f,	    0.00f
        };
    }
}
